package com.authine.cloudpivot.ext.service.goldentax;

import com.authine.cloudpivot.ext.dto.finance.GoldenTaxUpdateModel;
import com.authine.cloudpivot.ext.dto.model.golden.GoldenTax;
import com.authine.cloudpivot.ext.dto.model.invoice.InvoiceApply;

import java.util.Collection;
import java.util.List;

public interface GoldenTaxService {

    /**
     * 逻辑删除金税开票记录和开票明细
     * @param ids
     */
    void delete(List<String> ids);

    /**
     * 获取金税开票完成的数据
     * @param goldenTaxIds
     * @return
     */
    List<GoldenTax> listDone(List<String> goldenTaxIds);

    /**
     *  创建金税信息
     * @param invoiceApply
     * @return 金税信息记录ID
     */
    String generateGoldenTax(InvoiceApply invoiceApply);

    /**
     * 修改待开票状态的发票明细中的金税编码
     * @param writeBackInvoice
     */
    void updateGoldenTax(Collection<GoldenTaxUpdateModel> writeBackInvoice);

}
